1. Field of the Invention
The present invention generally relates to the art of multi-user, on-demand video entertainment systems, and more specifically to a video data storage and retrieval system including a video signature computation arrangement for preventing an excessive instantaneous server data rate.
2. Description of the Related Art
User-on-demand, also known as pay-per-view, video entertainment systems are becoming increasingly popular in motel and hotel facilities as well as in larger scale community cable television (CATV) systems.
Such a system includes a video server located at a central location that stores a plurality of movies that can be selected for viewing by one or more users at any desired time. The video server is connected to television receivers or monitors at the individual user locations by a cable or other network.
Each user is provided with means for requesting that a selected movie be retrieved from the server and shown on his or her television receiver in an on-demand, pay-per-view basis. In a small scale system such as installed in a motel or hotel, an interactive remote control unit can be provided for each television receiver by which the user can request a movie using a menu system displayed on the television screen. In a large scale system such as a community cable television network, the user can call the cable company by telephone to request that the movie transmitted to his home receiver.
A known video server system comprises a mass storage unit in the form of a Redundant Array of Inexpensive Drives (RAID) disk drive array. Data access to and from the individual drives of the RAID array is controlled by a master controller. A plurality of movies are stored on the array in a distributed or "striped" manner such that any movie can be viewed by more than one user, or even by all users simultaneously starting at different times. The RAID arrangement is further advantageous in that it balances the usage load over the disk drives.
The basic RAID configuration, including a description of distributed storage of data, is disclosed in U.S. Pat. No. 4,870,643, entitled "PARALLEL DRIVE ARRAY STORAGE SYSTEM", issued Sep. 26, 1989 to David Bultman et al, and an improved arrangement is disclosed in my prior U.S. Pat. No. 5,191,584, entitled "MASS STORAGE ARRAY WITH EFFICIENT PARITY CALCULATION", issued Mar. 2, 1993. Both of these patents are assigned to the Micropolis Corporation of Chatsworth, Calif., the assignee of the present invention.
The video and audio movie data and control functions are processed by a server, which is typically a conventional personal computer (PC). Movie requests from the remote control units (or by telephone) are sent to the PC server.
In response to a movie request, the server sends a command to the RAID array to retrieve the data corresponding to the requested movie from the disk drives. The data is read out of the array and fed back through the server to a decoder array which converts the data into an audio/visual channel and feeds it to the requesting user. In order to enable more than one user to view a movie simultaneously, data is retrieved from the array in small time multiplexed blocks.
An average data rate of approximately 375 kilobytes/second per user is required to provide substantially real-time viewing. A video server as embodied by a PC class computer is capable of handling a maximum composite data rate (multiplexed data for all users) of approximately 15 megabytes/sec. For a system including 30 users, this translates into an average server composite data rate of 11.25 megabytes/sec, which is within the maximum capability of the server.
However, depending upon the instantaneous picture content and thereby the degree of compression of the data, the data rate can exceed 2 megabytes/sec per user for short periods of time. Generally, less data per unit time is required to represent still or slowly changing images, whereas large data rates correspond to rapidly changing images.
In the worst case scenario in which the data rates for all 30 users are instantaneously 2 megabytes/sec, the composite data rate is 60 megabytes/sec, which is far in excess of the maximum capability of the server.
The obvious approach to solving this problem is to provide a buffer memory to temporarily store the excess data until it can be processed by the server. For example, in a 30 user system that is required to sustain a 2 megabyte/second per user data rate for 10 seconds, the capacity of a buffer memory that would be capable of handling this overflow would be equal to (60-15) megabytes/sec.times.10 seconds=450 megabytes.
A buffer having a capacity of 450 megabytes is disproportionately large and prohibitively expensive for a small commercial application such as a video entertainment system for a motel. The problem of accommodating excessive instantaneous composite data rates in a commercially practical PC server system has therefore remained unsolved.